import axios from 'axios';  // 引入 axios
import BASE_URL from './env.js'; // 引入接口共用地址

export const request = (options = {}) => {
    // 默认请求方法为 'GET'
    const method = options.method || 'GET';

    // 如果是 GET 请求，使用 params 来传递查询参数；否则使用 data 来传递请求体数据
    const config = {
        url: BASE_URL + options.url,
        method: method,
        params: method === 'GET' ? options.params : {},  // 只在 GET 请求时添加查询参数
        data: method !== 'GET' ? options.data : {},    // 非 GET 请求时，添加请求体数据
        withCredentials: true,  // 发送请求时携带 cookie
        headers: {
            'Content-Type': 'application/json'
        }
    };
    return new Promise((resolve, reject) => {
        axios(config)
            .then(res => {
                resolve(res.data);  // 请求成功时，返回数据
            })
            .catch(err => {
                reject(err);  // 请求失败时，返回错误信息
            });
    });
};
